/* 
	该文件专门为Count组件生成action对象  action只是声明要干的活和数据 不具体实现
*/
import {INCREMENT,DECREMENT} from '../constant'

//同步action，就是指action的值为Object类型的一般对象
export const createIncrementAction = data => ({type:INCREMENT,data})
export const createDecrementAction = data => ({type:DECREMENT,data})

//异步action，就是指action的值为函数,异步action中一般都会调用同步action，异步action不是必须要用的。

export const createIncrementAsyncAction = (data,time) => {
    return (dispatch)=>{
        setTimeout(()=>{
            dispatch(createIncrementAction(data))
        },time)
    }
}

/*上面的createIncrementAction原型是这样的：
*  function createIncrementAction (data) {
*  		//返回值是一个对象
       return {type:'increment',data:data}
}
箭头函数形式：  const createIncrementAction = (data) =>{
    return {type:'increment',data:data}

}//如果返回值是个对象的话，简写之后对象要包个小括号，即({type:INCREMENT,data})
* */